//package my.dao.daoImpl;
//
//import my.support.VoIODealer;
//import my.vo.voImpl.BookType;
//
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.List;
//
///**
// * @author 星环
// * @date 2022/10/31 10:44:43
// * @description 这是图书类别的Dao
// * 和BookDao中重复的属性、方法请查看{@link BookDao}
// */
//public class BookTypeDao {
//
//    private static int idCounter = 1;
//
//    private final VoIODealer<BookType> ioDealer;
//    public static List<BookType> list;
//
//    private static final BookTypeDao bookTypeDao = new BookTypeDao();
//
//    private BookTypeDao(){
//        list = new ArrayList<>();
//        ioDealer = new VoIODealer<>("booktypes");
//        ioDealer.read(list,new BookType());
//        updateIdCounter();
//    }
//
//    private void updateIdCounter() {
//        int maxid = 1;
//        for (BookType book : list) {
//            if(book.getId() >= maxid){
//                maxid = book.getId() + 1;
//            }
//        }
//        idCounter = maxid;
//    }
//
//    public static BookTypeDao getInstance(){
//        return bookTypeDao;
//    }
//
//
//    protected static int getNewId(){
//        return idCounter++;
//    }
//
//
//    public boolean insert(BookType bt){
//        if(bt == null){
//            return false;
//        }
//        bt.setId(getNewId());
//        list.add(bt);
//
//        return true;
//    }
//
//    /**
//     * 删除书类
//     * @param bt 对象
//     * @return 闪没删掉
//     */
//    public boolean delete(BookType bt){
//        Iterator<BookType> iterator = list.iterator();
//        int delNum = 0;
//        while (iterator.hasNext()){
//            BookType now = iterator.next();
//            if(now.equals(bt)){
//                iterator.remove();
//
//                return true;
//            }
//        }
//        return false;
//    }
//
//    public boolean deleteById(int id){
//
//        Iterator<BookType> iterator = list.iterator();
//        while (iterator.hasNext()){
//            BookType now = iterator.next();
//            if(now.getId() == id){
//                iterator.remove();
//                return true;
//            }
//        }
//
//        return false;
//    }
//
//    public int deleteByName(String name){
//
//        int delNum = 0;
//        Iterator<BookType> iterator = list.iterator();
//        while (iterator.hasNext()){
//            BookType now = iterator.next();
//            if(now.getName().equals(name)){
//                iterator.remove();
//                delNum++;
//            }
//        }
//
//        return delNum;
//    }
//
//    public boolean updateById(BookType bookType){
//
//        for (BookType now : list) {
//            if (now.getId() == bookType.getId()) {
//                now.setName(bookType.getName());
//                return true;
//            }
//        }
//
//        return false;
//    }
//
//    public List<BookType> getAll(){
//        return new ArrayList<>(list);
//    }
//
//    public List<BookType> getByName(String name){
//        List<BookType> ret = new ArrayList<>();
//        for (BookType bookType : list) {
//            if(bookType.getName().equals(name)){
//                ret.add(bookType);
//            }
//        }
//        return ret;
//    }
//
//    public BookType getById(int id){
//        for (BookType bookType : list) {
//            if(bookType.getId() == id){
//                return bookType;
//            }
//        }
//        return null;
//    }
//
//    /**
//     * 可能有多个一样的类别名 所以返回列表
//     * @param name 类别名
//     * @return 同名的类别的id列表
//     */
//    public ArrayList<Integer> getIdByName(String name){
//        ArrayList<Integer> ret = new ArrayList<>();
//        getByName(name).forEach(e->ret.add(e.getId()));
//        return ret;
//    }
//
//    public void save(){
//        ioDealer.save(list);
//    }
//
//    public String getNameById(int newId) {
//        BookType bookType = getById(newId);
//        return bookType.getName();
//    }
//}
